#!/bin/bash

# HTTP连接管理优化部署脚本
# 修复：HTML响应完成后立即关闭连接，让浏览器可以立即加载其他资源

set -e

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "🚀 HTTP连接管理优化 - 部署脚本"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""

# 1. 编译
echo "📦 步骤1: 编译服务端..."
go build -o bin/server main.go
if [ $? -ne 0 ]; then
    echo "❌ 编译失败"
    exit 1
fi
echo "✅ 编译成功"
echo ""

# 2. 构建Docker镜像
echo "🐳 步骤2: 构建Docker镜像..."
docker build -t internal-net-bridge-server:latest .
if [ $? -ne 0 ]; then
    echo "❌ Docker镜像构建失败"
    exit 1
fi
echo "✅ Docker镜像构建成功"
echo ""

# 3. 停止旧容器
echo "🛑 步骤3: 停止旧容器..."
docker-compose down
echo "✅ 旧容器已停止"
echo ""

# 4. 启动新容器
echo "🚀 步骤4: 启动新容器..."
docker-compose up -d
if [ $? -ne 0 ]; then
    echo "❌ 容器启动失败"
    exit 1
fi
echo "✅ 新容器已启动"
echo ""

# 5. 等待服务启动
echo "⏳ 步骤5: 等待服务启动（5秒）..."
sleep 5
echo ""

# 6. 检查容器状态
echo "🔍 步骤6: 检查容器状态..."
docker-compose ps
echo ""

# 7. 显示日志（最后20行）
echo "📋 步骤7: 显示服务日志..."
docker-compose logs --tail=20
echo ""

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "✅ 部署完成！"
echo ""
echo "🎯 优化内容："
echo "   ✅ HTTP响应完成后立即关闭连接"
echo "   ✅ HTML加载完成后不再一直loading"
echo "   ✅ 视频资源可以立即开始独立加载"
echo "   ✅ 页面资源可以并发加载"
echo ""
echo "🧪 测试命令："
echo "   curl -v http://124.156.188.238:17689/hello"
echo ""
echo "📊 查看实时日志："
echo "   docker-compose logs -f"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

